#ifndef _BOOLOP_H_
#define _BOOLOP_H_
#include "ast/exprType.h"
#include "ast/exprType.h"
#include "ast/boolopType.h"
#include "AstTypes.h"
class IVisitor;
class BoolOp;
typedef QSharedPointer<BoolOp> BoolOpPtr;

class BoolOp: public exprType
{
public:
    explicit BoolOp(int op, const ExprTypeList& values, int nodeId=-1);
    virtual ~BoolOp();
    
    
    int op();
    void setOp(int op);
    
    ExprTypeList values();
    void setValues(const ExprTypeList& values);
    
    
    virtual Ast::AstTypes type() const;
    virtual QString toString() const;
    virtual void accept(IVisitor* visitor, const SimpleNodePtr& node);
    virtual void traverse(IVisitor* visitor);
private:
    int _op;
    ExprTypeList _values;
};




#endif